package com.newasia.shopping.dal.persistence;

import com.newasia.shopping.dal.entitys.ItemSpu;
import com.newasia.shopping.dal.entitys.ItemSpuExample;
import java.util.List;

import com.newasia.shopping.dal.entitys.returnValue.ItemDetail;
import com.newasia.shopping.dal.entitys.returnValue.ItemFront;
import org.apache.ibatis.annotations.Param;

public interface ItemSpuMapper {
    long countByExample(ItemSpuExample example);

    int deleteByExample(ItemSpuExample example);

    int deleteByPrimaryKey(Long spuId);

    int insert(ItemSpu record);

    int insertSelective(ItemSpu record);

    List<ItemSpu> selectByExampleWithBLOBs(ItemSpuExample example);

    List<ItemSpu> selectByExample(ItemSpuExample example);

    ItemSpu selectByPrimaryKey(Long spuId);

    int updateByExampleSelective(@Param("record") ItemSpu record, @Param("example") ItemSpuExample example);

    int updateByExampleWithBLOBs(@Param("record") ItemSpu record, @Param("example") ItemSpuExample example);

    int updateByExample(@Param("record") ItemSpu record, @Param("example") ItemSpuExample example);

    int updateByPrimaryKeySelective(ItemSpu record);

    int updateByPrimaryKeyWithBLOBs(ItemSpu record);

    int updateByPrimaryKey(ItemSpu record);

    ItemDetail selectItemDetailBySkuId(Long skuId);

    List<ItemFront> selectItemFront(@Param("cid") Long cid, @Param("bid") Long bid,
                                    @Param("orderCol") String orderCol, @Param("orderDir") String orderDir,
                                    @Param("priceGt") Integer priceGt, @Param("priceLte") Integer priceLte);
}